package com.fc.mall.portal.service;

import com.fc.mall.base.object.Result;
import com.fc.mall.model.OmsBargain;
import com.fc.mall.model.OmsBargainList;
import com.fc.mall.portal.domain.BargainParam;
import com.fc.mall.portal.domain.BargainQueryParam;
import com.fc.mall.portal.domain.ConfirmOrderResult;
import com.fc.mall.portal.domain.ImmediatelyBargainOrderParam;
import com.fc.mall.portal.dto.BargainInfo;
import com.fc.mall.portal.dto.OmsBargainCartItem;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author  Sunny
 * Created by sunny on 2019/9/10.
 */
public interface OmsBargainService {

    OmsBargain createBargain(BargainParam bargainParam);

    BargainInfo getBargainById(Long bargainId);

    @Transactional
    OmsBargainList friendBargain(Long bargainId);


    List<BargainInfo> getBargainListOfSelf(BargainQueryParam bargainParam);

    ConfirmOrderResult generateConfirmBargainOrder(OmsBargainCartItem bargainCartItem);

    Result generateBargainOrder(ImmediatelyBargainOrderParam immediatelyOrderParam);
}
